﻿namespace EventHandlerDemo.Domain.Bases.UOW
{
    public interface IOuterUnitOfWork : IUnitOfWorkBase
    {
        string Id { get; }
        bool IsDisposed { get; }
        IOuterUnitOfWork Outer { get; set; }
        void BeginTransaction();
        Task CommitTransactionAsync(CancellationToken cancellationToken = default);
        Task RollbackAsync();
        Task<int> SaveChangesAsync(CancellationToken cancellationToken = default);
    }
}
